OTRcvUDErr
Clears an error condition indicated by aT_UDERR
event and returns the reason for the error.C INTERFACE
OSStatus OTRcvUDErr (EndpointRef ref, TUDErr* uderr);C++ INTERFACE
OSStatus TEndpoint::RcvUDErr(TUDErr* uderr);PARAMETERS
ref
- The endpoint reference of the endpoint that has attempted to send the data.
uderr
- A pointer to a
TUDErr
structure (page 3-57) that specifies the reason for the error.DESCRIPTION
You use theOTRcvUDErr
function if you have called theOTSndUData
function and the endpoint provider has issued theT_UDERR
event to indicate that the send operation did not succeed. This usually happens when the endpoint provider cannot determine immediately that you have specified a bad address or option value. For example, assume that you are using AppleTalk and you specify an NBP address. If Open Transport cannot resolve the address, it sends aT_UDERR
event to your notifier function. To clear the error condition and determine the cause of the failure, you must call theOTRcvUDErr
function.If the size of the option or error data returned exceeds the size of the allocated buffers, the
OTRcvUDErr
function returns with the resultkOTBufferOverflowErr,
but the error indication is cleared anyway.If you do not need to identify the cause of the failure, you can set the
uderr
pointer tonil
. In this case, theOTRcvUDErr
function clears the error indication without reporting any information to you. It is important, nevertheless, that you actually call theOTRcvUDErr
function to clear the error condition. If you don't call this function, the endpoint remains in an invalid state for doing other send operations, and the endpoint provider is unable to deallocate memory reserved for internal buffers associated with the send operation.VALID STATES
T_IDLE
SEE ALSO
Open Transport uses theTUDErr
structure (page 3-57) to return information about why theOTSndUData
function (page 3-101) failed.